/**
 * @file proto.h
 *
 * The <b>proto<b/> module contains methods specific to the P2P3TC protocol.
 */

#ifndef _PROTO_H
#define _PROTO_H

#include "addr.h"
#include "msg.h"
#include "node.h"

void proto_recv(Node *node, const Msg *msg);

int proto_send_link_up(Node *node, const Addr *dst, const Addr *neighbour, uint32_t side);
int proto_join(Node *node, const Addr *dst);
void proto_leave(Node *node);
int proto_get(Node *node, Addr *peer, char *file_name, uint32_t file_size);
int proto_search(Node *node, char *file_name);

#endif /* _PROTO_H */
